﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Simhopp.Model;

namespace Simhopp.GUI
{
    //public delegate List<Diver> DelegateGetDiverList(); //Finns redan i EditDiver?
    public delegate Dive DelegateGetDiveByDiveNumber(int number);
    public delegate void DelegateMoveDiverToBack(Diver diver);
    public delegate void DelegateAddScoreAndJudgeIDToJudgeScoreDict(int JudgeID, int DiveNr, double Score);
    public delegate int DelegateGetRound();
    public delegate void DelegateCalculateDiveScore();
    public delegate Dictionary<int,double> DelegateGetJudgeScoreForDive(int DiveNr);
    public delegate void DelegateCalculateTotalScoreForDive(int DiveNr);
    public delegate void DelegateCalculateTotalPointsForDiver();


    public delegate void DelegateStop();
    public delegate void DelegateStart();

    public interface InterfaceOngoingCompetitionView
    {
        event DelegateGetDiverList EventGetDiverList;
        event DelegateGetDiveByDiveNumber EventGetDiveByDiveNumber;
        event DelegateMoveDiverToBack EventMoveDiverToBack;
        event DelegateAddScoreAndJudgeIDToJudgeScoreDict EventAddScoreAndJudgeIDToJudgeScoreDict;
        event DelegateGetRound EventGetRound;
        event DelegateGetJudgeScoreForDive EventGetJudgeScoreForDive;
        event DelegateCalculateTotalScoreForDive EventCalculateTotalScoreForDive;
        event DelegateCalculateTotalPointsForDiver EventCalculateTotalPointsForDiver;

        event DelegateStart EventStart;
        event DelegateStop EventStop;


    }
}
